package hcn.protocol.ods.inpatient;


import lombok.ToString;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.List;

/**
 * 居民手术查询返回参数
 */
@ToString
@XmlRootElement(name = "Data")
public class SurgeryInfoDataResp {
    private Long Total;
    private List<SurgeryInfo> RequestLists;

    @XmlElement(name = "Total")
    public Long getTotal() {
        return Total;
    }

    public void setTotal(Long Total) {
        this.Total = Total;
    }

    @XmlElementWrapper(name = "RequestLists")
    @XmlElement(name = "RequestList")
    public List<SurgeryInfo> getRequestLists() {
        return RequestLists;
    }

    public void setRequestLists(List<SurgeryInfo> requestLists) {
        RequestLists = requestLists;
    }

    @ToString
    public static class SurgeryInfo {
        private String VisitOrganization; //医院ID，医院系统身份标识
        private String VisitOrganizationName;//医院名称
        private String OperationType;//手术类别：1门诊、2住院
        private String IsEmergency;//是否急诊：1急诊、0普通
        private String OperationSourceId;//手术Id（唯一识别号）
        private String RequestId;//手术单号
        private String SourcePatientId;//患者在医院的唯一识别号
        private String Name;//患者姓名
        private String Sex;//患者性别
        private String Age;//患者年龄
        private String DoctorCode;//申请医生代码
        private String DoctorName;//申请医生姓名
        private String OperationCode;//手术代码
        private String OperationName;//手术名称
        private String DeptCode;//就诊科室代码（区别于deptid）
        private String DeptName;//科室名称
        private String OperationStatus;//1.已撤销申请,2已取消安排,3 待安排（已申请），4 已安排，5 麻醉中，6 手术中，7 手术结束，8 麻醉结束，9 复苏，10 转出，11 回病房（其中3-10是进行中，11是已结束（已完成））
        private String OperationStatusStr;//当前状态（文字）
        private String OperationRoomNo;//手术间（为空则返回"暂无安排"）
        private String ArrangeOperationTime;//手术安排时间（为空则返回0000-00-00 00:00:00） yyyy-MM-dd HH:mm:ss
        private String ArrangeTime;//手术时间
        private String OperationPlace;//手术地点（为空则返回"暂无安排"）
        private String OperationCounts;//台次
        private String AnesthesiaWayCode;//麻醉方法
        private String OperationPartName;//手术体位
        private String OperationIncisionDescription;//切口等级
        private String OperationLevel;//手术级别
        private List<OperatorList> OperatorLists;//手术医师集合
        private List<AnesthesiaDoctorList> AnesthesiaDoctorLists;//麻醉医师
        private List<AssistantorList> AssistantorLists;//助手集合
        private List<InstrumentNurseList> InstrumentNurseLists;//手术护士集合
        private String OperatorRequirement;//手术要求
        private String RemarkInfo;//注意事项(有多条需标序号以及换行，无则返回“暂无注意事项”)
        private String Comment;//备注
        private String HospizationId;//住院号码
        private String ClinicId;//门诊号码
        private String WardArea;//病区
        private String SickbedId;//病床号


        @XmlElement(name = "DoctorCode")
        public String getDoctorCode() {
            return DoctorCode;
        }

        public void setDoctorCode(String doctorCode) {
            DoctorCode = doctorCode;
        }

        @XmlElement(name = "WardArea")
        public String getWardArea() {
            return WardArea;
        }

        public void setWardArea(String wardArea) {
            WardArea = wardArea;
        }


        @XmlElement(name = "SickbedId")

        public String getSickbedId() {
            return SickbedId;
        }

        public void setSickbedId(String sickbedId) {
            SickbedId = sickbedId;
        }

        @XmlElement(name = "ArrangeTime")

        public String getArrangeTime() {
            return ArrangeTime;
        }

        public void setArrangeTime(String arrangeTime) {
            ArrangeTime = arrangeTime;
        }

        @XmlElement(name = "HospizationId")
        public String getHospizationId() {
            return HospizationId;
        }

        public void setHospizationId(String hospizationId) {
            HospizationId = hospizationId;
        }

        @XmlElement(name = "ClinicId")
        public String getClinicId() {
            return ClinicId;
        }

        public void setClinicId(String clinicId) {
            ClinicId = clinicId;
        }

        @XmlElement(name = "Comment")
        public String getComment() {
            return Comment;
        }

        public void setComment(String comment) {
            Comment = comment;
        }

        @XmlElement(name = "DoctorName")
        public String getDoctorName() {
            return DoctorName;
        }

        public void setDoctorName(String doctorName) {
            DoctorName = doctorName;
        }

        @XmlElement(name = "VisitOrganization")
        public String getVisitOrganization() {
            return VisitOrganization;
        }

        public void setVisitOrganization(String visitOrganization) {
            VisitOrganization = visitOrganization;
        }

        @XmlElement(name = "VisitOrganizationName")
        public String getVisitOrganizationName() {
            return VisitOrganizationName;
        }

        public void setVisitOrganizationName(String visitOrganizationName) {
            VisitOrganizationName = visitOrganizationName;
        }

        @XmlElement(name = "OperationType")
        public String getOperationType() {
            return OperationType;
        }

        public void setOperationType(String operationType) {
            OperationType = operationType;
        }

        @XmlElement(name = "IsEmergency")
        public String getIsEmergency() {
            return IsEmergency;
        }

        public void setIsEmergency(String isEmergency) {
            IsEmergency = isEmergency;
        }

        @XmlElement(name = "OperationSourceId")
        public String getOperationSourceId() {
            return OperationSourceId;
        }

        public void setOperationSourceId(String operationSourceId) {
            OperationSourceId = operationSourceId;
        }

        @XmlElement(name = "RequestId")
        public String getRequestId() {
            return RequestId;
        }

        public void setRequestId(String requestId) {
            RequestId = requestId;
        }

        @XmlElement(name = "SourcePatientId")
        public String getSourcePatientId() {
            return SourcePatientId;
        }

        public void setSourcePatientId(String sourcePatientId) {
            SourcePatientId = sourcePatientId;
        }

        @XmlElement(name = "Name")
        public String getName() {
            return Name;
        }

        public void setName(String name) {
            Name = name;
        }

        @XmlElement(name = "Sex")
        public String getSex() {
            return Sex;
        }

        public void setSex(String sex) {
            Sex = sex;
        }

        @XmlElement(name = "Age")
        public String getAge() {
            return Age;
        }

        public void setAge(String age) {
            Age = age;
        }

        @XmlElement(name = "OperationCode")
        public String getOperationCode() {
            return OperationCode;
        }

        public void setOperationCode(String operationCode) {
            OperationCode = operationCode;
        }

        @XmlElement(name = "OperationName")
        public String getOperationName() {
            return OperationName;
        }

        public void setOperationName(String operationName) {
            OperationName = operationName;
        }

        @XmlElement(name = "DeptCode")
        public String getDeptCode() {
            return DeptCode;
        }

        public void setDeptCode(String deptCode) {
            DeptCode = deptCode;
        }

        @XmlElement(name = "DeptName")
        public String getDeptName() {
            return DeptName;
        }

        public void setDeptName(String deptName) {
            DeptName = deptName;
        }

        @XmlElement(name = "OperationStatus")
        public String getOperationStatus() {
            return OperationStatus;
        }

        public void setOperationStatus(String operationStatus) {
            OperationStatus = operationStatus;
        }

        @XmlElement(name = "OperationStatusStr")
        public String getOperationStatusStr() {
            return OperationStatusStr;
        }

        public void setOperationStatusStr(String operationStatusStr) {
            OperationStatusStr = operationStatusStr;
        }

        @XmlElement(name = "OperationRoomNo")
        public String getOperationRoomNo() {
            return OperationRoomNo;
        }

        public void setOperationRoomNo(String operationRoomNo) {
            OperationRoomNo = operationRoomNo;
        }

        @XmlElement(name = "ArrangeOperationTime")
        public String getArrangeOperationTime() {
            return ArrangeOperationTime;
        }

        public void setArrangeOperationTime(String arrangeOperationTime) {
            ArrangeOperationTime = arrangeOperationTime;
        }

        @XmlElement(name = "OperationPlace")
        public String getOperationPlace() {
            return OperationPlace;
        }

        public void setOperationPlace(String operationPlace) {
            OperationPlace = operationPlace;
        }

        @XmlElement(name = "OperationCounts")
        public String getOperationCounts() {
            return OperationCounts;
        }

        public void setOperationCounts(String operationCounts) {
            OperationCounts = operationCounts;
        }

        @XmlElement(name = "AnesthesiaWayCode")
        public String getAnesthesiaWayCode() {
            return AnesthesiaWayCode;
        }

        public void setAnesthesiaWayCode(String anesthesiaWayCode) {
            AnesthesiaWayCode = anesthesiaWayCode;
        }

        @XmlElement(name = "OperationPartName")
        public String getOperationPartName() {
            return OperationPartName;
        }

        public void setOperationPartName(String operationPartName) {
            OperationPartName = operationPartName;
        }

        @XmlElement(name = "OperationIncisionDescription")
        public String getOperationIncisionDescription() {
            return OperationIncisionDescription;
        }

        public void setOperationIncisionDescription(String operationIncisionDescription) {
            OperationIncisionDescription = operationIncisionDescription;
        }

        @XmlElement(name = "OperationLevel")
        public String getOperationLevel() {
            return OperationLevel;
        }

        public void setOperationLevel(String operationLevel) {
            OperationLevel = operationLevel;
        }

        @XmlElementWrapper(name = "OperatorLists")
        @XmlElement(name = "OperatorList")
        public List<OperatorList> getOperatorLists() {
            return OperatorLists;
        }

        public void setOperatorLists(List<OperatorList> operatorLists) {
            OperatorLists = operatorLists;
        }

        @XmlElementWrapper(name = "AnesthesiaDoctorLists")
        @XmlElement(name = "AnesthesiaDoctorList")
        public List<AnesthesiaDoctorList> getAnesthesiaDoctorLists() {
            return AnesthesiaDoctorLists;
        }

        public void setAnesthesiaDoctorLists(List<AnesthesiaDoctorList> anesthesiaDoctorLists) {
            AnesthesiaDoctorLists = anesthesiaDoctorLists;
        }

        @XmlElementWrapper(name = "AssistantorLists")
        @XmlElement(name = "AssistantorList")
        public List<AssistantorList> getAssistantorLists() {
            return AssistantorLists;
        }

        public void setAssistantorLists(List<AssistantorList> assistantorLists) {
            AssistantorLists = assistantorLists;
        }

        @XmlElementWrapper(name = "InstrumentNurseLists")
        @XmlElement(name = "InstrumentNurseList")
        public List<InstrumentNurseList> getInstrumentNurseLists() {
            return InstrumentNurseLists;
        }

        public void setInstrumentNurseLists(List<InstrumentNurseList> instrumentNurseLists) {
            InstrumentNurseLists = instrumentNurseLists;
        }

        @XmlElement(name = "OperatorRequirement")
        public String getOperatorRequirement() {
            return OperatorRequirement;
        }

        public void setOperatorRequirement(String operatorRequirement) {
            OperatorRequirement = operatorRequirement;
        }

        @XmlElement(name = "RemarkInfo")
        public String getRemarkInfo() {
            return RemarkInfo;
        }

        public void setRemarkInfo(String remarkInfo) {
            RemarkInfo = remarkInfo;
        }

        @ToString
        public static class InstrumentNurseList {
            private String InstrumentNurseName;        //手术护士名称
            private String InstrumentNurseDeptName;    //手术护士科室名称

            @XmlElement(name = "InstrumentNurseName")
            public String getInstrumentNurseName() {
                return InstrumentNurseName;
            }

            public void setInstrumentNurseName(String instrumentNurseName) {
                InstrumentNurseName = instrumentNurseName;
            }

            @XmlElement(name = "InstrumentNurseDeptName")
            public String getInstrumentNurseDeptName() {
                return InstrumentNurseDeptName;
            }

            public void setInstrumentNurseDeptName(String instrumentNurseDeptName) {
                InstrumentNurseDeptName = instrumentNurseDeptName;
            }
        }

        @ToString
        public static class AssistantorList {
            private String AssistantorName;
            private String AssistantorDeptName;

            @XmlElement(name = "OperatorName")
            public String getAssistantorName() {
                return AssistantorName;
            }

            public void setAssistantorName(String assistantorName) {
                AssistantorName = assistantorName;
            }

            @XmlElement(name = "AssistantorDeptName")
            public String getAssistantorDeptName() {
                return AssistantorDeptName;
            }

            public void setAssistantorDeptName(String assistantorDeptName) {
                AssistantorDeptName = assistantorDeptName;
            }
        }

        @ToString
        public static class AnesthesiaDoctorList {
            private String AnesthesiaDoctorType;
            private String AnesthesiaDoctorName;
            private String AnesthesiaDoctorDeptName;

            @XmlElement(name = "AnesthesiaDoctorType")
            public String getAnesthesiaDoctorType() {
                return AnesthesiaDoctorType;
            }

            public void setAnesthesiaDoctorType(String anesthesiaDoctorType) {
                AnesthesiaDoctorType = anesthesiaDoctorType;
            }

            @XmlElement(name = "AnesthesiaDoctorName")
            public String getAnesthesiaDoctorName() {
                return AnesthesiaDoctorName;
            }

            public void setAnesthesiaDoctorName(String anesthesiaDoctorName) {
                AnesthesiaDoctorName = anesthesiaDoctorName;
            }

            @XmlElement(name = "AnesthesiaDoctorDeptName")
            public String getAnesthesiaDoctorDeptName() {
                return AnesthesiaDoctorDeptName;
            }

            public void setAnesthesiaDoctorDeptName(String anesthesiaDoctorDeptName) {
                AnesthesiaDoctorDeptName = anesthesiaDoctorDeptName;
            }
        }

        @ToString
        public static class OperatorList {
            private String OperatorType;    //1、主 2、副
            private String OperatorName;    //手术医师名称
            private String OperatorDeptName;//手术医师科室名称

            @XmlElement(name = "OperatorType")
            public String getOperatorType() {
                return OperatorType;
            }

            public void setOperatorType(String operatorType) {
                OperatorType = operatorType;
            }

            @XmlElement(name = "OperatorName")
            public String getOperatorName() {
                return OperatorName;
            }

            public void setOperatorName(String operatorName) {
                OperatorName = operatorName;
            }

            @XmlElement(name = "OperatorDeptName")
            public String getOperatorDeptName() {
                return OperatorDeptName;
            }

            public void setOperatorDeptName(String operatorDeptName) {
                OperatorDeptName = operatorDeptName;
            }
        }

    }


}


